home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 003 / pcdbm.arc / MANUAL.1 < prev    next >
Text File  |  1985-03-04  |  45KB  |  2,113 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.                   USER'S GUIDE FOR THE
  19.         PC-DBMS (TM) DATA BASE MANAGEMENT SYSTEM
  20.  
  21.                        version 1.0
  22.  
  23.  
  24.  
  25.                 (C) COPYRIGHT KWARE, 1985
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41. Paul Kobrin
  42. Kware
  43. P.O. Box 16206
  44. Arlington, Va. 22215
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                PC-DBMS DISTRIBUTION NOTICE
  72.  
  73.  
  74. PC-DBMS is distributed as user  supported  software.   If
  75. you  like  it, I ask that you send a voluntary payment of
  76. $60 which will entitle you  to  a  typeset  copy  of  the
  77. User's  Guide,  a  mailed  copy  of  the  next version of
  78. PC-DBMS without charge, support and  my  thanks.   Please
  79. see appendix C for more information.
  80.  
  81. In any event,  you  are  encouraged  to  make  unmodified
  82. copies  of  the  complete  set  of distribution files for
  83. others.  Commercial sale of  PC-DBMS  in  any  manner  is
  84. prohibited  without  Kware's  written permission but user
  85. groups  and  similar  non-commercial  organizations   may
  86. impose   their   customary   charges  for  copying,  etc.
  87. Reproduction of the printed manual is prohibited.
  88.  
  89.  
  90.  
  91.                        DISCLAIMER
  92.  
  93.  
  94. In no event will the author or supplier of  this  program
  95. be  liable  to  you  for  any damages, including any lost
  96. profits,   lost   savings   or   other   incidental    or
  97. consequential   damages   arising  from  the  use  of  or
  98. inability to use this program,  even  if  the  author  or
  99. supplier  has  been  advised  of  the possibility of such
  100. damages, or for any claim by any other party.
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107. PC-DBMS is a trademark of Kware, Inc.
  108. IBM is a trademark of 
  109.   International Business Machines Corporation.
  110. MS is a trademark of Microsoft Corporation.
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.                          CONTENTS
  150.  
  151.  
  152.  
  153.  
  154.  
  155. CHAPTER 1       INTRODUCTION
  156.  
  157.  
  158. CHAPTER 2       GETTING STARTED
  159.  
  160.                 System Requirements . . . . . . . . . 2-1
  161.                 Distribution Diskette . . . . . . . . 2-1
  162.                 Installation  . . . . . . . . . . . . 2-2
  163.  
  164.  
  165. CHAPTER 3       HANDS ON TUTORIAL
  166.  
  167.                 Starting the Program  . . . . . . . . 3-2
  168.                 Help  . . . . . . . . . . . . . . . . 3-3
  169.                 Command Entry and Editing . . . . . . 3-4
  170.                 The Open Command  . . . . . . . . . . 3-4
  171.                 The Select Command  . . . . . . . . . 3-5
  172.                 The Show Command  . . . . . . . . . . 3-8
  173.                 The Remove Command . . . . . . . . . 3-10
  174.                 The Display Command  . . . . . . . . 3-10
  175.                 The Define Command . . . . . . . . . 3-12
  176.                 The Key and Dekey Commands . . . . . 3-15
  177.                 The Exit Command . . . . . . . . . . 3-16
  178.  
  179.  
  180.                             i
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203. CHAPTER 4       GENERAL
  204.  
  205.                 Description of a PC-DBMS Data Base  . 4-1
  206.                 Limitations . . . . . . . . . . . . . 4-2
  207.                 Data File Structure, 
  208.                   Import and Export . . . . . . . . . 4-2
  209.                 Object Names  . . . . . . . . . . . . 4-3
  210.                 The PC-DBMS Editor  . . . . . . . . . 4-3
  211.                 Command Formatting and Execution  . . 4-4
  212.                 Help  . . . . . . . . . . . . . . . . 4-5
  213.  
  214.  
  215. CHAPTER 5       COMMAND REFERENCE
  216.  
  217.                 Overview  . . . . . . . . . . . . . . 5-1
  218.                 Notational Conventions  . . . . . . . 5-2
  219.                 Define  . . . . . . . . . . . . . . . 5-2
  220.                 Dekey . . . . . . . . . . . . . . . . 5-4
  221.                 Display . . . . . . . . . . . . . . . 5-4
  222.                 Exit  . . . . . . . . . . . . . . . . 5-8
  223.                 Key . . . . . . . . . . . . . . . . . 5-8
  224.                 Open  . . . . . . . . . . . . . . . . 5-9
  225.                 Output  . . . . . . . . . . . . . . . 5-9
  226.                 Remove . . . . . . . . . . . . . . . 5-10
  227.                 Select . . . . . . . . . . . . . . . 5-10
  228.                 Show . . . . . . . . . . . . . . . . 5-17
  229.                 Tolerance  . . . . . . . . . . . . . 5-20
  230.  
  231.  
  232. APPENDIX A      KEYWORDS
  233.  
  234.  
  235. APPENDIX B      THE RELATIONAL MODEL
  236.  
  237.  
  238. APPENDIX C      USER SUPPORTED SOFTWARE
  239.  
  240.  
  241. INDEX
  242.  
  243.  
  244.  
  245.  
  246.                             ii
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.                         CHAPTER 1
  280.  
  281.                       INTRODUCTION
  282.  
  283.  
  284.  
  285. PC-DBMS is a data base management  system  built  on  the
  286. relational model.  Its features include
  287.  
  288.       -  Dynamically formatted full screen forms for data
  289.          entry,  retrieval  and  editing and for "fill in
  290.          the blanks" query composition.
  291.  
  292.       -  A  query  command  that  can  retrieve  selected
  293.          records  from  one  or  two  tables,  optionally
  294.          sorting them.
  295.  
  296.       -  Dynamic files, i.e., the  capability  to  create
  297.          new, defined tables from query results.
  298.  
  299.       -  A fast screen  editor  for  command  composition
  300.          with   previous   command  recall.   The  editor
  301.          features word wrapping and flying reform.
  302.  
  303.       -  A menu-based help system.
  304.  
  305.       -  Files containing the data tables look just  like
  306.          the tables, facilitating import and export.
  307.  
  308.       -  Indexing with automatic  index  update  on  data
  309.          entry,  deletion  or modification.  No operation
  310.          requires existence of an index.
  311.  
  312.  
  313.                            1-1
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.                       INTRODUCTION
  334.  
  335.  
  336.  
  337.       -  Optional use of color.
  338.  
  339.       -  Integrated data dictionary but kept in  its  own
  340.          file.
  341.  
  342.       -  Entire dbms contained in one EXE file.
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.                            1-2
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.                         CHAPTER 2
  412.  
  413.                      GETTING STARTED
  414.  
  415.  
  416.  
  417. Please read through this section of the manual.  Then  go
  418. on to run the hands on tutorial in the next section.
  419.  
  420.  
  421.  
  422. SYSTEM REQUIREMENTS
  423.  
  424. PC-DBMS will run on IBM, Compaq  and  Columbia  computers
  425. and  similar  systems  under  PC/MS-DOS  version  1.1  or
  426. higher.  Minimum memory  is  192k.   One  disk  drive  is
  427. necessary.   A  second  drive  or hard disk is desirable.
  428. Output can be redirected to an optional  printer.   Color
  429. is vigorously supported but not required.
  430.  
  431. PC-DBMS operates  the  video  board  directly.   It  will
  432. support  IBM  monochrome  and  color  graphics boards and
  433. close copies of them.
  434.  
  435.  
  436.  
  437. DISTRIBUTION DISKETTE
  438.  
  439. The distribution diskette contains  the  files  shown  in
  440. Table 2-1.
  441.  
  442.  
  443.  
  444.  
  445.                            2-1
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.                      GETTING STARTED
  466.                   DISTRIBUTION DISKETTE
  467.  
  468.  
  469.  
  470. READ.ME         printing instructions for this manual
  471. MANUAL.1        first half of this manual
  472. MANUAL.2        second half of this manual
  473.  
  474. MUSIC.DEF       a sample
  475. COMPOSER.DAT             data base used 
  476. OPUS.DAT                                in the tutorial
  477.  
  478. PC-DBMS.EXE     the dbms program
  479.  
  480. REQUEST.DOC     payment form and invoice
  481.  
  482. Table 2-1.  Files on distribution diskette.
  483.  
  484.  
  485.  
  486. INSTALLATION
  487.  
  488. The  installation  task   copies   the   files   on   the
  489. distribution  diskette necessary to run the tutorial onto
  490. another diskette or onto your hard disk.  Then, store the
  491. distribution  diskette  as  a back up.  After running the
  492. tutorial from the copy, delete the  tutorial's  files  to
  493. save  space  and  continue using the copy;  it will still
  494. contain everything needed to use PC-DBMS.
  495.  
  496. If you do not have a hard disk, make a diskette  copy  of
  497. the  distribution  diskette  as follows.  Turn on your pc
  498. and load the operating system, i.e, boot  it.   You  will
  499. need a formatted blank diskette.  (The IBM Disk Operating
  500. System Manual describes booting and  formatting.)  Insert
  501. the  distribution  diskette in drive A:.  If you have two
  502. drives, insert the blank diskette in drive  B:.   In  any
  503. case, issue the following copy commands.
  504.  
  505. COPY A:*.DEF  B:
  506. COPY A:*.DAT  B:
  507. COPY A:*.EXE  B:
  508.  
  509.  
  510.  
  511.                            2-2
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.                      GETTING STARTED
  532.                       INSTALLATION
  533.  
  534.  
  535. If you have a one drive system, A:  and B:  refer to  the
  536. source and distribution diskettes.  DOS will tell you how
  537. to swap them in the drive to produce the copy  after  you
  538. issue each copy command.
  539.  
  540. After making the copy, put the distribution diskette away
  541. and  insert  the  copy in drive A:.  You are ready to run
  542. the tutorial.
  543.  
  544. If you have a hard disk and are running DOS  2.x,  it  is
  545. suggested but not required that you create a subdirectory
  546. for PC-DBMS.  It is a convenient place to keep your  data
  547. base  files  and the program.  After booting your system,
  548. at the DOS prompt  enter  MD\DBMS  and  when  the  prompt
  549. returns,  enter  CD\DBMS.   You  now  have a subdirectory
  550. called \DBMS and it is presently the default  or  current
  551. directory.
  552.  
  553. Whether you created  a  subdirectory  or  not,  copy  the
  554. necessary  files  to your hard disk.  These copy commands
  555. assume that the distribution diskette is in drive A:.  If
  556. the  diskette  is  in  a  different drive, substitute its
  557. designation in the commands.
  558.  
  559. COPY A:*.DEF
  560. COPY A:*.DAT
  561. COPY A:*.EXE
  562.  
  563. After making the diskette or  hard  disk  copy,  put  the
  564. distribution  diskette  away.  On a system without a hard
  565. disk, put the copy diskette in drive A:.  You  are  ready
  566. to run the tutorial.
  567.  
  568. After you run the tutorial, you might want to delete  its
  569. sample data base from the hard disk or diskette copy.  On
  570. a  system  without  a  hard  disk,  issue  these   delete
  571. commands.
  572.  
  573. DEL A:*.DAT
  574. DEL A:*.DEF
  575. DEL A:*.IDX
  576.  
  577.                            2-3
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.                      GETTING STARTED
  598.                       INSTALLATION
  599.  
  600.  
  601. On a hard disk system, omit  the  A:   in  the  preceding
  602. commands.   The dbms program, PC-DBMS.EXE, will remain on
  603. the copy for your use.
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620.  
  621.  
  622.  
  623.  
  624.  
  625.  
  626.  
  627.  
  628.  
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.                            2-4
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674.  
  675.                         CHAPTER 3
  676.  
  677.                     HANDS ON TUTORIAL
  678.  
  679.  
  680.  
  681. This  tutorial  will   acquaint   you   with   the   main
  682. capabilities  of  PC-DBMS  in  just  a  few pages.  It is
  683. cumulative so if this  is  your  first  exposure  to  the
  684. tutorial,  go  through  it  in order.  Within in an hour,
  685. you'll know the 80% of the program used 95% of the  time.
  686. If  you're  already  familiar with PC-DBMS, you might use
  687. the tutorial as a refresher.  It is organized by  command
  688. for convenience.
  689.  
  690. The tutorial does not cover every  command  nor  does  it
  691. cover  every  feature  and  limitation of the commands it
  692. does cover.  IF A CAPABILITY IS  NOT  MENTIONED,  DO  NOT
  693. ASSUME IT IS ABSENT.  CHECK CHAPTER 4, COMMAND REFERENCE.
  694.  
  695. To run the tutorial,  you  must  have  the  program  file
  696. PC-DBMS.EXE  and  the  sample data base files (MUSIC.DEF,
  697. COMPOSER.DAT and OPUS.DAT) all on the disk in the  logged
  698. drive.
  699.  
  700. The tutorial permanently modifies the sample data base so
  701. be  sure  you are working with a copy of the distribution
  702. diskette.
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.                            3-1
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.  
  729.                     HANDS ON TUTORIAL
  730.                   STARTING THE PROGRAM
  731.  
  732.  
  733. STARTING THE PROGRAM
  734.  
  735. Boot your pc as usual.  That is, start it  and  load  the
  736. operating  system.  If you don't have a hard disk, insert
  737. the   previously   prepared   PC-DBMS    diskette    (see
  738. INSTALLATION)  into  the default drive, typically A:.  If
  739. you have a hard disk, make  the  subdirectory  containing
  740. PC-DBMS  the  default,  i.e., give the command CD\DBMS at
  741. the DOS prompt.
  742.  
  743. At the DOS prompt (e.g.,  A>),  type  PC-DBMS  and  press
  744. return.   The  welcome screen appears showing the product
  745. name, version number, etc.  Press any key.
  746.  
  747. If your pc has a color video card, you will be  asked  if
  748. you also have a color monitor.  Press Y or N.
  749.  
  750. Now the main screen of PC-DBMS appears.  At the top  left
  751. is  a wide window for you to enter commands.  Right of it
  752. are function key descriptions.  Two stripes the width  of
  753. the  screen  are  below  the  window.   You'll  see their
  754. function soon.  The bottom half of the screen, the output
  755. window,  displays  data  or help messages.  The screen is
  756. illustrated in Figure 3-1.
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.                            3-2
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.                     HANDS ON TUTORIAL
  796.                   STARTING THE PROGRAM
  797.  
  798.  
  799.                                                       
  800. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  801. :                                           : F1=help
  802. :                                           : F2=rmv help
  803. :             COMMAND  WINDOW               : F3=prev cmd
  804. :                                           : F7=execute
  805. :                                           : F10=exit
  806. :                                           :
  807. LMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  808.                   MESSAGE WINDOW STRIPE
  809.                   COLUMN HEADINGS STRIPE
  810. ---------------------------------------------------------
  811.  
  812.  
  813.  
  814.                        OUTPUT WINDOW
  815.  
  816.  
  817.  
  818.  
  819.  
  820. ---------------------------------------------------------
  821.  
  822. Figure 3-1.  The main screen of PC-DBMS
  823.  
  824.  
  825.  
  826. HELP
  827.  
  828. Press the F1 key (top left of keyboard).  The help menu's
  829. first  page  appears  in  the output window.  Get help on
  830. "command entry/editing", the first menu item, by pressing
  831. the  first  function  key, F1.  Read the help text in the
  832. output window.  The cursor returns to the command window.
  833. Try help on another topic if you like.
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.                            3-3
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.  
  861.                     HANDS ON TUTORIAL
  862.                 COMMAND ENTRY AND EDITING
  863.  
  864.  
  865. COMMAND ENTRY AND EDITING
  866.  
  867. Whatever you type is entered in the command window.  Word
  868. wrapping   automatically   breaks   lines   so  type  the
  869. Gettysburg address without pressing carriage return.
  870.  
  871.      Four score and seven  years  ago,  our  fathers
  872.      brought  forth upon this continent a new nation
  873.      conceived  in  liberty  and  dedicated  to  the
  874.      proposition that all men are created equal ....
  875.  
  876. Use the  cursor  keys  (numeric  keypad  arrow  keys)  to
  877. position  the  cursor  at  the  "s" in "seven".  Now type
  878. "twenty-".  Next, delete it by pressing the backspace key
  879. repeatedly.
  880.  
  881. Press  the  return  key.   It  doesn't  initiate  command
  882. execution;   it  never  does.   It  breaks  the  line  at
  883. "seven".
  884.  
  885. Now execute the Gettysburg  address  like  a  command  by
  886. pressing  F7.   This  is  folly  so  an  error message is
  887. written onto the first stripe.  That's what the stripe is
  888. for.
  889.  
  890. What happens if you press F3?  Try it.  (Pressing F7  now
  891. will serve to clear the window.)
  892.  
  893.  
  894.  
  895. THE OPEN COMMAND
  896.  
  897. PC-DBMS sessions usually begin with the open command.  It
  898. makes  an  existing  data  base  available  or starts the
  899. process of creating a new  data  base.   Let's  open  the
  900. sample  data base MUSIC.  Type OPEN MUSIC (upper or lower
  901. case) in the command window and press F7 to  execute  the
  902. command.   The message window should read "Database MUSIC
  903. opened."
  904.  
  905.  
  906.  
  907.                            3-4
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.                     HANDS ON TUTORIAL
  928.                    THE SELECT COMMAND
  929.  
  930.  
  931. THE SELECT COMMAND
  932.  
  933. The select command retrieves data  from  the  data  base,
  934. displaying  it  on  screen  or writing it to a file.  The
  935. simplest select command is only two words.   Type  SELECT
  936. COMP.ALL  and  press  F7.  Figure 3-2 shows the result as
  937. displayed in the output window.
  938.  
  939. NAME                 BORN  DIED  COUNTRY          
  940.  
  941. Tchaikovsky, P.      1840  1893  Russia         
  942. Brahms, J.           1833  1897  Germany        
  943. Verdi, G.            1813  1901  Italy          
  944. Handel, G.           1685  1759  England        
  945. Mozart, W.           1756  1791  Austria        
  946. Bach, J.             1685  1750  Germany        
  947. Chopin, F.           1810  1849  France         
  948. Beethoven, L.        1770  1827  Germany        
  949. Haydn, F.            1732  1809  Austria        
  950. Mendelssohn, F.      1809  1847  Germany        
  951. Debussy, C.          1862  1918  France         
  952.  
  953. Figure 3-2.  Result of SELECT COMP.ALL
  954.  
  955. The data  base  contains  the  table  COMP  whose  entire
  956. contents  are  now  in  the  output window.  The table is
  957. stored in its own  file.   The  table  has  eleven  lines
  958. called records and four data columns called fields.
  959.  
  960. Suppose we want only composers born no earlier than 1700.
  961. Press  the  F3  key  to  recall the first select command.
  962. Press the numeric keypad's END key to place the cursor at
  963. the  command's  end.   Press  the space bar once and type
  964. WHERE BORN => 1700 so that SELECT COMP.ALL WHERE BORN  =>
  965. 1700 is in the command window.  Press F7 to execute it.
  966.  
  967. The where clause can have up to ten  conditions.   Recall
  968. the  previous  command,  position  the cursor and add AND
  969. COUNTRY =  "Germany"  so  that  the  entire  command  is:
  970. SELECT   COMP.ALL   WHERE   BORN  =>1700  AND  COUNTRY  =
  971. "Germany".  This command has two conditions.   Press  F7.
  972.  
  973.                            3-5
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.  
  993.                     HANDS ON TUTORIAL
  994.                    THE SELECT COMMAND
  995.  
  996.  
  997. Note  that  text strings are enclosed in quote marks.  We
  998. could connect the conditions with OR  in  place  of  AND.
  999. That would change the query's meaning.
  1000.  
  1001. Let's retrieve the same data  alphabetized.   Recall  the
  1002. previous  command,  position  the  cursor at its end, add
  1003. SORTED BY NAME and press F7.  Note that a  where  clause,
  1004. if present, precedes the sort clause.
  1005.  
  1006. It's possible to choose which fields  are  displayed  and
  1007. their  order.  Recall the previous command and edit it to
  1008. read SELECT COMP.BORN NAME COUNTRY by  using  the  cursor
  1009. keys,  backspace  and  the delete key (Del).  Execute the
  1010. command.
  1011.  
  1012. The  MUSIC  data  base  also  contains  the  table  OPUS.
  1013. PC-DBMS  permits  its contents to be displayed along with
  1014. the contents of  COMP.   Execute  SELECT  COMP.BORN  NAME
  1015. OPUS.ALL.   Some output will scroll off screen and what's
  1016. left is shown in Figure 3-3.
  1017.  
  1018. BORN  NAME               COMPOSER          WORK                       
  1019.  
  1020. 1685  Handel, G.         Beethoven, L.     Symphony No. 5
  1021. 1756  Mozart, W.         Brahms, J.        Lullaby
  1022. 1756  Mozart, W.         Beethoven, L.     Symphony No. 5
  1023. 1685  Bach, J.           Brahms, J.        Lullaby
  1024. 1685  Bach, J.           Beethoven, L.     Symphony No. 5
  1025. 1810  Chopin, F.         Brahms, J.        Lullaby
  1026. 1810  Chopin, F.         Beethoven, L.     Symphony No. 5
  1027. 1770  Beethoven, L.      Brahms, J.        Lullaby
  1028. 1770  Beethoven, L.      Beethoven, L.     Symphony No. 5
  1029. 1732  Haydn, F.          Brahms, J.        Lullaby
  1030. 1732  Haydn, F.          Beethoven, L.     Symphony No. 5
  1031. 1809  Mendelssohn, F.    Brahms, J.        Lullaby
  1032. 1809  Mendelssohn, F.    Beethoven, L.     Symphony No. 5
  1033. 1862  Debussy, C.        Brahms, J.        Lullaby
  1034. 1862  Debussy, C.        Beethoven, L.     Symphony No. 5
  1035.  
  1036. Figure 3-3.  Result of SELECT COMP.BORN NAME OPUS.ALL
  1037.  
  1038.  
  1039.                            3-6
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.                     HANDS ON TUTORIAL
  1060.                    THE SELECT COMMAND
  1061.  
  1062.  
  1063. The composers' birth  years  and  names  from  COMP  were
  1064. paired   with   their   names   and   works   from  OPUS.
  1065. Unfortunately, Debussy's  vital  statistics  were  paired
  1066. with   a  Beethoven  symphony  and  so  forth.   Add  the
  1067. following clause to the command to match  composers  only
  1068. with  their  own  works:   WHERE  COMPOSER  =  COMP.NAME.
  1069. Execute the corrected command.
  1070.  
  1071. Linking related records from different tables is called a
  1072. join.   Records  from  the two tables are joined together
  1073. only when they have the  same  composer  name,  that  is,
  1074. WHERE OPUS.COMPOSER = COMP.NAME.
  1075.  
  1076. Let's look again at the join command:   SELECT  COMP.BORN
  1077. NAME  OPUS.ALL  WHERE  COMPOSER  =  COMP.NAME.  The first
  1078. occurrence of  "COMP."  (in  COMP.BORN)  makes  COMP  the
  1079. default  table.  Subsequent field names not preceded by a
  1080. table name (NAME) are presumed to  be  from  COMP.   When
  1081. OPUS.ALL  is  encountered,  the  default table changes to
  1082. OPUS.  Hence, COMPOSER is assumed to mean OPUS.COMPOSER.
  1083.  
  1084. A field name explicitly qualified by a table name such as
  1085. COMP.BORN  is  called  a  qualified  field name.  You can
  1086. qualify any field name;   the  default  capability  is  a
  1087. convenience to save typing.
  1088.  
  1089. Sometimes a select command retrieves so many records that
  1090. they  start  to  scroll  off  screen.  You can freeze the
  1091. action by pressing control-S (hold the  control  key  and
  1092. press "s" once).  Then press any key to resume scrolling.
  1093. However, to terminate retrieval prematurely, press F10.
  1094.  
  1095. You should know about one last  select  capability.   The
  1096. result  of  the  select command can become a table in the
  1097. data base rather than a  display  on  the  screen.   Just
  1098. append  a  clause  like  INTO  NU_TABLE to the end of the
  1099. select  command.   Then  you  can  run  queries   against
  1100. NU_TABLE  or  whatever  name you give the new table.  Try
  1101. the  previous  select  command  with  the   clause   INTO
  1102. JOIN_TBL.   Execute  another  select  command against the
  1103. JOIN_TBL to confirm its existence.  (THIS  EXERCISE  WILL
  1104.  
  1105.                            3-7
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.                     HANDS ON TUTORIAL
  1126.                    THE SELECT COMMAND
  1127.  
  1128.  
  1129. PERMANENTLY ALTER THE SAMPLE DATA BASE SO BE SURE YOU ARE
  1130. WORKING WITH A COPY.)
  1131.  
  1132. One reason to save the query result in a table is to do a
  1133. three  way  join such as to join together tables A, B and
  1134. C.  The select command accepts no  more  than  two  table
  1135. names before the into clause.  So use a select command to
  1136. join A and B INTO X.  Then use a second select command to
  1137. join X and C.
  1138.  
  1139.  
  1140.  
  1141. THE SHOW COMMAND
  1142.  
  1143. So far we have discovered two tables in  the  MUSIC  data
  1144. base.   Are  there  others?  Type SHOW and press F7.  The
  1145. result is in Figure 3-4.  In fact, there are 3 tables.
  1146.  
  1147. TABLE NAME   FILE          RECORDS FIELDS  EOR   MODIFIED
  1148.  
  1149. COMP         COMPOSER.DAT      11      6    2  11-25-1984
  1150. OPUS         OPUS.DAT           2      2    2  11-25-1984
  1151. JOIN_TBL     JOIN_TBL.DAT       2      4    2  12-15-1984
  1152.  
  1153. Figure 3-4.  Result of SHOW
  1154.  
  1155. The recall and default table capabilities and the command
  1156. editor  save  typing.   Keyword  truncation saves typing,
  1157. too.   Any  keyword  longer  than  3  characters  can  be
  1158. truncated  to 3 or more characters.  For example, SHO has
  1159. the same meaning as SHOW.  Try it!
  1160.  
  1161. Keywords are the boilerplate of commands.   Examples  are
  1162. select,  show,  open  and  into.  The names of data bases
  1163. (MUSIC),  tables  (COMP)  and  fields  (BORN)   are   not
  1164. keywords.   Neither  are  field values such as "Germany".
  1165. Don't truncate names and values, only keywords.
  1166.  
  1167. The show  command  can  retrieve  additional  information
  1168. about the tables in the data base.  Try SHO\DESCRIBE.  It
  1169. brings up verbal descriptions of the tables.
  1170.  
  1171.                            3-8
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.                     HANDS ON TUTORIAL
  1192.                     THE SHOW COMMAND
  1193.  
  1194.  
  1195. Show can also retrieve information about fields.  Execute
  1196. SHO\FIELDS  but press control-S before any output scrolls
  1197. off  screen.   When  ready,  press  any  key  to   resume
  1198. scrolling.  The entire result is shown in Figure 3-5.
  1199.  
  1200.    FIELD NAME   TYPE KEY FROM    TO
  1201.  
  1202.  
  1203.  
  1204. TABLE   COMP            
  1205.  
  1206. NAME              T   N     1    19
  1207. BORN              N   N    20    23
  1208. filler1           F   N    24    24
  1209. DIED              N   N    25    28
  1210. filler2           F   N    29    29
  1211. COUNTRY           T   N    30    44
  1212.  
  1213.  
  1214. TABLE   OPUS            
  1215.  
  1216. COMPOSER          T   N     1    19
  1217. WORK              T   N    20    44
  1218.  
  1219.  
  1220. TABLE   JOIN_TBL
  1221.  
  1222. BORN              N   N     1     4
  1223. NAME              T   N     5    23
  1224. COMPOSER          T   N    24    42
  1225. WORK              T   N    43    67 
  1226.  
  1227. Figure 3-5.  Result of the command SHO\FIELDS
  1228.  
  1229. Consider COMP.  It has two fields, filler1  and  filler2,
  1230. which  have  been hidden so far.  That's because they are
  1231. filler or F type fields.  The  fields  which  select  has
  1232. displayed  are  either  text (T) or numeric (N).  All the
  1233. fields in MUSIC are not KEYed (N),  i.e.,  there  are  no
  1234. indices yet.  The last two columns give the beginning and
  1235. ending character positions in the file for each field.
  1236.  
  1237.                            3-9
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.                     HANDS ON TUTORIAL
  1258.                     THE SHOW COMMAND
  1259.  
  1260.  
  1261. Finally, verbal descriptions of fields can be  retrieved.
  1262. Execute SHO\FIE\DES.
  1263.  
  1264. Any of the four show command forms can be followed by one
  1265. or  more table names.  Then, only the information for the
  1266. indicated table(s) will be retrieved.  For  example,  try
  1267. SHO\FIE COMP.
  1268.  
  1269. The show  command  displays  the  contents  of  the  data
  1270. dictionary, known as the schema.  PC-DBMS uses the schema
  1271. internally.
  1272.  
  1273.  
  1274.  
  1275. THE REMOVE COMMAND
  1276.  
  1277. The table JOIN_TBL you  created  with  a  select  command
  1278. keeps  appearing  when show commands are executed.  Let's
  1279. remove it from the schema.  Execute REMOVE  JOIN_TBL  and
  1280. try  a  show  command  to confirm the deletion.  The file
  1281. JOIN_TBL.DAT which contained the table  is  not  deleted.
  1282. Only the schema is altered.
  1283.  
  1284.  
  1285.  
  1286. THE DISPLAY COMMAND
  1287.  
  1288. The display command invokes the display utility  to  add,
  1289. delete  or  modify  records.   The  utility automatically
  1290. creates a full screen data entry form.
  1291.  
  1292. [THE FOLLOWING  EXERCISES  WILL  PERMANENTLY  MODIFY  THE
  1293. SAMPLE DATA BASE.  BE SURE YOU ARE USING A COPY.]
  1294.  
  1295. Suppose we want to  add  a  record  to  the  COMP  table.
  1296. Execute  DISPLAY/INPUT  COMP  and  watch  the  data entry
  1297. screen appear.  Note that INPUT  appears  at  the  bottom
  1298. right.   Field  names are placed next to blocks for field
  1299. values.
  1300.  
  1301.  
  1302.  
  1303.                           3-10
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.                     HANDS ON TUTORIAL
  1324.                    THE DISPLAY COMMAND
  1325.  
  1326.  
  1327. The display utility has its own help;  press  F1.   After
  1328. you  read  the  help  text  on  screen,  press any key to
  1329. restore the data entry form.
  1330.  
  1331. Let's enter a record for another composer.  In the  block
  1332. marked NAME, type Dvorak, A.  Then press tab.  The cursor
  1333. now jumps to the BORN block.  Enter 1841 and  press  tab.
  1334. Enter the entire four field record:
  1335.  
  1336. Dvorak, A.    1841    1904      Czechoslovakia    
  1337.  
  1338. If you entered a  field  incorrectly,  return  to  it  by
  1339. pressing  F9  or  tab  repeatedly.   Then  type  over the
  1340. erroneous entry.  The cursor keys will  move  you  around
  1341. within  each field block.  Try editing even if you didn't
  1342. make an error.
  1343.  
  1344. Press F7 to add this  record  to  the  COMP  table.   The
  1345. record  will  be stored if the two numeric fields contain
  1346. numbers.  If there is a defective entry for a number,  an
  1347. error  message  will  appear  on  the bottom line and the
  1348. cursor will be placed in the offending  field  block  for
  1349. you to make a correction.
  1350.  
  1351. After adding a record, the field blocks  are  cleared  so
  1352. you  can  enter  another  record.   For now, press F10 to
  1353. leave the display utility and return to the main  screen.
  1354. If  you  like, confirm the addition of Dvorak's record by
  1355. executing SELECT COMP.ALL.
  1356.  
  1357. Now, let's use the display utility to fix  the  error  in
  1358. Beethoven's  record.  Execute DIS\EDIT COMP and note that
  1359. the same data entry screen reappears except now it  shows
  1360. QUERY at the bottom right rather than INPUT.
  1361.  
  1362. First, we have to find Beethoven's record.  Then we  have
  1363. to  edit  and  store  it.  The QUERY screen finds records
  1364. which are then displayed on the EDIT screen.
  1365.  
  1366.  
  1367.  
  1368.  
  1369.                           3-11
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.                     HANDS ON TUTORIAL
  1390.                    THE DISPLAY COMMAND
  1391.  
  1392.  
  1393. Beethoven was born in 1770 so we will  find  all  records
  1394. containing  a  birth  year  of  1770.  This will bring up
  1395. Beethoven's record and possibly others.  Tab to the  BORN
  1396. field block on the QUERY screen and enter 1770.  Press F7
  1397. to start the search for 1770 records.
  1398.  
  1399. At the bottom right, QUERY changes to  EDIT  and  a  1770
  1400. record  appears.   It's  Beethoven's  record.  Tab to the
  1401. COUNTRY block.  Beethoven lived mainly  in  Austria,  not
  1402. Germany.   Make  the  change by typing over the incorrect
  1403. entry.  Press F6 to save the corrected  record.   If  you
  1404. wanted  to delete the record, you could press F4 instead.
  1405. Or you could press F7 to leave it intact.  Here  are  the
  1406. choices:
  1407.  
  1408. F4  = delete record              \
  1409. F6  = change record to edited one > & display next record
  1410. F7  = leave unchanged            /
  1411. F10 = leave unchanged, return to QUERY screen
  1412.  
  1413. F4, F6 and F7 cause display of the next 1770  record,  if
  1414. there  is  one.   However,  Beethoven's  is the only 1770
  1415. record so the  screen  clears  and  a  message  "No  more
  1416. records"  appears.   Press  any  key.   The  QUERY screen
  1417. reappears.  You can  now  repeat  the  cycle  of  finding
  1418. records (QUERY screen) and correcting them (EDIT screen).
  1419.  
  1420. From the QUERY screen, you can exit to the main screen by
  1421. pressing F10.  Do so.
  1422.  
  1423.  
  1424.  
  1425. THE DEFINE COMMAND
  1426.  
  1427. The define command invokes the define utility which  adds
  1428. definitions  of  tables  and  their fields to the schema.
  1429. The utility consists of two prompting screens.  The first
  1430. screen is used to describe a table.  The second screen is
  1431. for describing a field.
  1432.  
  1433.  
  1434.  
  1435.                           3-12
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.                     HANDS ON TUTORIAL
  1456.                    THE DEFINE COMMAND
  1457.  
  1458.  
  1459. Let's define  a  new  table  with  two  fields.   Execute
  1460. DEFINE.   The first of the prompting screens replaces the
  1461. main screen.  It asks a sequence of four questions  about
  1462. the  new  table.   Figure  3-6  shows the screen with all
  1463. questions answered.  Complete your screen similarly.  Use
  1464. the  backspace  and  cursor keys for editing.  The second
  1465. screen appears when  you  press  return  after  the  last
  1466. question.
  1467.  
  1468. ---------------------------------------------------------
  1469.      
  1470.                   DESCRIPTION OF NEW TABLE
  1471.    
  1472.    
  1473. Name of table:  ORCHESTRAS
  1474.                           
  1475. File spec of file to hold ORCHESTRAS:
  1476.                 ORCHSTRA.TXT
  1477.                                      
  1478. Enter description of table (optional):
  1479.   INFORMATION ABOUT SOME ORCHESTRAS
  1480.  
  1481. Enter code for record terminator: 2   0 Nothing
  1482.                                       1 Carriage return
  1483.                                       2 Carriage return-
  1484.                                           line feed
  1485.  
  1486.  
  1487.  
  1488.                           F10 to quit
  1489. ---------------------------------------------------------
  1490.  
  1491. Figure 3-6.  The define utility's first or table 
  1492.   definition screen
  1493.  
  1494. The second screen asks a sequence of five questions about
  1495. the  new  tables's  first  field.   Figure  3-7 shows the
  1496. screen with all questions answered.  Complete your screen
  1497. similarly.
  1498.  
  1499.  
  1500.  
  1501.                           3-13
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.                     HANDS ON TUTORIAL
  1522.                    THE DEFINE COMMAND
  1523.  
  1524.  
  1525. ---------------------------------------------------------
  1526.                           
  1527.                    DESCRIPTION OF FIELD     
  1528.                
  1529.                  
  1530. Name of field:  ORCHESTRA      
  1531.                                        Data Type Choices
  1532. Enter first letter of data type: T     Text Number Filler
  1533.                         
  1534.                                      
  1535. How wide in characters is field ORCHESTRA?      25
  1536.                    
  1537. Index field (Y/N)?   N       
  1538.                          
  1539. Enter description of field (optional):  
  1540.         THE ORCHESTRA'S NAME, E.G., CHICAGO SYMPHONY
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.                 F10 to stop defining fields 
  1547. ---------------------------------------------------------
  1548.  
  1549. Figure 3-7.  The define utility's second or field 
  1550.   definition screen
  1551.  
  1552. When you press return after the last question,  the  same
  1553. field  definition  screen  restarts so you can define the
  1554. second field.  Complete it.  Here are the five  questions
  1555. and answers for the second field.
  1556.  
  1557. FIELD NAME           CONDUCTOR
  1558. DATA TYPE            T        
  1559. FIELD WIDTH          19       
  1560. INDEX                N        
  1561. VERBAL DESCRIPTION   Last name, first name of 
  1562.                        music director
  1563.  
  1564.  
  1565.  
  1566.  
  1567.                           3-14
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.                     HANDS ON TUTORIAL
  1588.                    THE DEFINE COMMAND
  1589.  
  1590.  
  1591. The field definition screen is now prompting for  another
  1592. field's description but we're finished.  To terminate the
  1593. field definition cycle, press F10.
  1594.  
  1595. Now the first or table definition screen reappears.   You
  1596. could define another table and its fields but we're done.
  1597. Press F10 to exit the definition utility and restore  the
  1598. main screen.
  1599.  
  1600. Try SHO\FIELDS ORCHESTRAS to confirm addition of the  new
  1601. table  to  the  schema.   If you want, add records to the
  1602. table with DIS\INPUT ORCHESTRAS.
  1603.  
  1604.  
  1605.  
  1606. THE KEY AND DEKEY COMMANDS
  1607.  
  1608. PC-DBMS can index a field.  The index or key works like a
  1609. book's  index;   it  speeds searches.  In addition, a key
  1610. can provide a sorted retrieval without doing a sort.
  1611.  
  1612. You can tell if a field is keyed from the KEY  column  in
  1613. the SHOW\FIELD command's output.  See Figure 3-5.
  1614.  
  1615. If a field is keyed, its index will be updated whenever a
  1616. value  in  that field is added, deleted or changed by the
  1617. display utility.  Index updating slows  file  maintenance
  1618. and  indices use disk space so only certain fields should
  1619. be keyed.
  1620.  
  1621. A field starts life without indexing if  created  by  the
  1622. SELECT  ...   INTO  command.  It may start out indexed if
  1623. created by the define utility.  See Figure  3-7's  fourth
  1624. question.
  1625.  
  1626. If a field does not already have an index, you  can  give
  1627. it  one  with  the  key  command.  Execute KEY COMP.NAME.
  1628. Confirm the indexing  with  SHOW/FIE  COMP.   Try  SELECT
  1629. COMP.ALL  SORTED  BY  NAME.  The retrieval will be sorted
  1630. and a little faster than without the key.  The  speed  up
  1631. is dramatic on tables with many records.
  1632.  
  1633.                           3-15
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.                     HANDS ON TUTORIAL
  1654.                THE KEY AND DEKEY COMMANDS
  1655.  
  1656.  
  1657. You can remove a key with  the  dekey  command.   Execute
  1658. DEKEY COMP.NAME.  Now try SELECT COMP.ALL SORTED BY NAME.
  1659. Did you notice the slow down?
  1660.  
  1661. Indexing is  especially  important  in  joins.   Consider
  1662. SELECT COMP.ALL OPUS.WORK WHERE OPUS.COMPOSER = COMP.NAME
  1663. AND BORN > 1800.  The  join  condition,  OPUS.COMPOSER  =
  1664. COMP.NAME, will process much more quickly if at least one
  1665. of the two fields is keyed.  The COMP.BORN condition also
  1666. will process more quickly if that field is keyed.
  1667.  
  1668. However, the where clause exploits no more than one index
  1669. per  table.   Hence, keys will be most used if they're on
  1670. fields in different tables, e.g.,  on  OPUS.COMPOSER  and
  1671. COMP.BORN.
  1672.  
  1673. Indexing  is  never  necessary  in  PC-DBMS.    It   only
  1674. accelerates processing, sometimes dramatically, though.
  1675.  
  1676.  
  1677.  
  1678. THE EXIT COMMAND
  1679.  
  1680. There is an exit command but the simple way to execute it
  1681. is  to  press  F10.  You're now back at the DOS level and
  1682. done with PC-DBMS.
  1683.  
  1684.  
  1685.  
  1686.  
  1687.  
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.                           3-16
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.  
  1720.  
  1721.  
  1722.  
  1723.  
  1724.  
  1725.  
  1726.  
  1727.  
  1728.  
  1729.  
  1730.  
  1731.                         CHAPTER 4
  1732.  
  1733.                          GENERAL
  1734.  
  1735.  
  1736.  
  1737. DESCRIPTION OF A PC-DBMS DATA BASE
  1738.  
  1739. A PC-DBMS data base consists of  three  kinds  of  files.
  1740. The  data  base  definitions  (schema) reside in one file
  1741. that has a "DEF" extension.  Its file name is the name of
  1742. the  data  base.   This file must exist.  The schema file
  1743. must be in the current directory of the logged drive.
  1744.  
  1745. The data of a data base are in  named  tables  that  have
  1746. records  and fields.  Each table resides in its own file.
  1747. Nothing else is in these files.  The name of the file may
  1748. be  different  from  the  name  of the table it contains.
  1749. There may be any number of data files associated  with  a
  1750. data base.
  1751.  
  1752. Indices are in the third type of file.  There may be zero
  1753. or  one  index files for each data file.  Each index file
  1754. holds the  indices  for  all  the  keyed  fields  of  the
  1755. corresponding data file.  The disk drive and file name of
  1756. the index file are the same as the drive and file name of
  1757. the  corresponding  data file.  However, the index file's
  1758. extension is IDX.
  1759.  
  1760.  
  1761.  
  1762.  
  1763.  
  1764.  
  1765.                            4-1
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.                          GENERAL
  1786.                        LIMITATIONS
  1787.  
  1788.  
  1789. LIMITATIONS
  1790.  
  1791. Each table may have up to 32767 records including deleted
  1792. records.   Each  record  may  have up to 999 fields.  The
  1793. schema file holds up  to  32767  records.   It  uses  one
  1794. record  for  each  table  and  another  for  each  field.
  1795. Deleting definition records  (with  the  remove  command)
  1796. does not reduce the count.
  1797.  
  1798.  
  1799.  
  1800. DATA FILE STRUCTURE, IMPORT AND EXPORT
  1801.  
  1802. Each data file contains the entirety  of  one  table  and
  1803. nothing else.  The file is an ASCII representation of the
  1804. table.  That is, there is no packing or data  compression
  1805. and  numbers  are  represented  as text, not in binary or
  1806. other format.
  1807.  
  1808. The use of ASCII files to  represent  tables  facilitates
  1809. import  and  export  of  tables between PC-DBMS and other
  1810. applications.  The show\fields command is used to  obtain
  1811. the  definition  of  a  table for export.  Use the define
  1812. utility to describe an imported table to PC-DBMS.
  1813.  
  1814. Indices may be unreliable if an indexed table is  altered
  1815. by  another  program.   Indices should be rebuilt.  Also,
  1816. record counts exhibited  by  the  show  command  are  not
  1817. reliable   on  tables  supplied  or  altered  externally.
  1818. However, the erroneous record count is innocuous.
  1819.  
  1820. PC-DBMS flags a deleted record by placing a backslash (\)
  1821. in the first character position.
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.                            4-2
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.                          GENERAL
  1852.                       OBJECT NAMES
  1853.  
  1854.  
  1855. OBJECT NAMES
  1856.  
  1857. The names of data bases, tables  and  fields  consist  of
  1858. alphanumeric  characters  and  the  underscore  (_).  The
  1859. first character of a name must be alphabetic.  Do not use
  1860. PC-DBMS's  keywords  as names.  See Appendix A.  Although
  1861. PC-DBMS   will   accept   non-conforming    names,    the
  1862. consequences  are  unpredictable.   Case does not matter.
  1863. Data base names are  1-8  characters.   Table  and  field
  1864. names  are  1-16  characters.  However, tables created by
  1865. the select ...  into command are limited to 1-8 character
  1866. names.
  1867.  
  1868. Most commands use "qualified field  names."  A  qualified
  1869. field  name  is  a field name preceded by the name of its
  1870. table and a period.  For example, COMP.BORN is the  field
  1871. BORN from the table COMP.
  1872.  
  1873.  
  1874.  
  1875. THE PC-DBMS EDITOR
  1876.  
  1877. Upon invoking the program, its main screen  will  appear.
  1878. A  framed  window is at the top left.  Commands are typed
  1879. into it.  A word processing type editor operates  in  the
  1880. command  window.   The  same editor operates in the field
  1881. blocks of the data entry  form  created  by  the  display
  1882. command.  The following describes the editor.
  1883.  
  1884. There are two modes, insert  and  replace.   The  default
  1885. mode  is  insert  in  the  command window.  The cursor is
  1886. "low" in this  mode.   Pressing  the  "Ins"  key  toggles
  1887. between  the  modes.   In  the  display utility, only the
  1888. replace mode is available and the cursor is "high."
  1889.  
  1890. In insert mode, each entered character pushes those after
  1891. it  rightward.   If  a  word  would  be pushed out of the
  1892. display area, a flying reform occurs.  That is, the  last
  1893. word is put at the beginning of the next line (word wrap)
  1894. and all text that was on that line is pushed right  which
  1895. may  cause word wrap and reform of the following line and
  1896.  
  1897.                            4-3
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.                          GENERAL
  1918.                    THE PC-DBMS EDITOR
  1919.  
  1920.  
  1921. so forth.
  1922.  
  1923. In replace mode, an entered character  replaces  the  one
  1924. that was at the cursor.
  1925.  
  1926. The following applies to both modes.
  1927.  
  1928. The delete key deletes the character under the cursor and
  1929. the  backspace  key deletes the preceding character.  The
  1930. line is closed up in either case by  shifting  subsequent
  1931. characters left.
  1932.  
  1933. The four cursor keys function.  The  Home  and  End  keys
  1934. move  the  cursor to the beginning and end of the current
  1935. line.  The Page Up key moves  the  cursor  to  the  first
  1936. position in the window or field block.
  1937.  
  1938. Carriage return breaks a line at the  cursor.   That  is,
  1939. all characters at and after the cursor are shifted to the
  1940. next line.  A flying reform will occur.  (Carriage return
  1941. does not initiate command execution.)
  1942.  
  1943.  
  1944.  
  1945. COMMAND FORMATTING AND EXECUTION
  1946.  
  1947. Commands may spread over  as  many  lines  as  necessary.
  1948. There is no continuation character.
  1949.  
  1950. Words or items in a command are separated by one or  more
  1951. spaces.   The  space  is the only separator recognized by
  1952. PC-DBMS.
  1953.  
  1954. Numbers may be preceded by  a  sign  and  may  contain  a
  1955. decimal  point.   They may be followed immediately by "E"
  1956. or "e"  and  a  signed  or  unsigned  integer  to  obtain
  1957. scientific   representation.   For  example,  VELOCITY  >
  1958. 3.35E+11.
  1959.  
  1960.  
  1961.  
  1962.  
  1963.                            4-4
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.                          GENERAL
  1984.             COMMAND FORMATTING AND EXECUTION
  1985.  
  1986.  
  1987. Character  strings  must  be  entered  in  quotes.    For
  1988. example, NAME = "Smith".  Use a pair of quotes to embed a
  1989. quote mark in a string.   For  example,  NAME  =  "Herman
  1990. ""Babe"" Ruth".
  1991.  
  1992. Comments, which are ignored by PC-DBMS, may be placed  in
  1993. commands.   They  are  preceded  by an apostrophe (').  A
  1994. comment ends a command.
  1995.  
  1996. PC-DBMS keywords may be entered in upper, lower or  mixed
  1997. case.  They may be truncated to three or more characters.
  1998.  
  1999. The F3 key  clears  the  window  and  puts  the  previous
  2000. command into it for possible editing.
  2001.  
  2002. The F7 key executes the command in the window.  (Carriage
  2003. return  is  used  for  editing  only.)  If the command is
  2004. flawed, an error  or  warning  message  will  be  issued.
  2005. Command  execution  is  aborted if there is an error.  If
  2006. only a warning is given, execution  will  proceed.   Most
  2007. messages are errors.
  2008.  
  2009. The F10 key executes the exit  command,  terminating  the
  2010. program and returning the user to the operating system.
  2011.  
  2012.  
  2013.  
  2014. HELP
  2015.  
  2016. A help facility is available in the main  screen.   Press
  2017. F1  to obtain the first page of a multi-page menu of help
  2018. topics.  The menu and cursor appear in the bottom half of
  2019. the  main  screen,  occluding  any  data display that was
  2020. there.
  2021.  
  2022. Cycle through the menu pages by pressing F9 or quit  help
  2023. by  pressing F10.  Obtain the help message on a menu item
  2024. by pressing the function  key  (F1-F8)  corresponding  to
  2025. that  item's  menu  number (1-8).  The message remains in
  2026. the bottom half of the main screen  although  the  cursor
  2027. returns to the command window.
  2028.  
  2029.                            4-5
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.                          GENERAL
  2050.                           HELP
  2051.  
  2052.  
  2053. The data display occluded by the help menu  and  messages
  2054. can be restored by pressing F2.
  2055.  
  2056.  
  2057.  
  2058.  
  2059.  
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.                            4-6
  2096.  
  2097.  
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.